package com.shensi.api.admin.domian.label.dto;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.shensi.common.core.annotation.Excel;
import com.shensi.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModelProperty;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

/**
 * 用户标签对象 customer_label
 *
 * @author shensi
 * @date 2021-06-15
 */
public class CustomerLabelDemoDto extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * $column.columnComment
     */
    private Integer id;
    /**
     * 手机号
     */
    @ApiModelProperty(value = "手机号")
    @Excel(name = "手机号")
    private String phone;


    /**
     * 油站id
     */
    @ApiModelProperty(value = "油站id")
    private Long stationId;

    @ApiModelProperty(value = "姓名")
    @Excel(name = "姓名")
    private String customerName;

    @ApiModelProperty(value = "标签名")
    private String labelName;

    @ApiModelProperty(value = "标签id")
    private Long labelId;

    /**
     * 删除 1是 0否
     */
    @ApiModelProperty(value = "删除标识：1 是，0 否")
    private String delFlag;


    private String blogOpenid;

    @ApiModelProperty(value = "最后一次加油时间")
    @Excel(name = "最后一次加油时间", dateFormat = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createDate;

    @ApiModelProperty(value = "最后一次充值时间")
    @Excel(name = "最后一次充值时间", dateFormat = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date rCreateDate;

    /**
     * 加油次数
     */
    @ApiModelProperty(value = "加油次数")
    @Excel(name = "加油次数")
    private Integer countNum;

    /**
     * 充值次数
     */
    @ApiModelProperty(value = "充值次数")
    @Excel(name = "充值次数")
    private Integer rCountNum;

    /**
     * 油品
     */
    @ApiModelProperty(value = "油品名称")
    private String oilName;

    /**
     * 开始时间
     */
    @JsonIgnore
    @ApiModelProperty(value = "消费开始时间min")
    private String beginDate;

    @JsonIgnore
    @ApiModelProperty(value = "消费结束时间min")
    private String endDate;

    /**
     * 开始时间
     */
    @JsonIgnore
    @ApiModelProperty(value = "充值开始时间min")
    private String rBeginDate;

    @JsonIgnore
    @ApiModelProperty(value = "充值结束时间min")
    private String rEndDate;

    /**
     * 加油金额
     */
    @ApiModelProperty(value = "加油金额min")
    private BigDecimal startAmt;
    @ApiModelProperty(value = "加油金额max")
    private BigDecimal endAmt;

    /**
     * 加油次数
     */
    @ApiModelProperty(value = "加油次数min")
    private Integer startCountNum;
    @ApiModelProperty(value = "加油次数max")
    private Integer endCountNum;

    /**
     * 充值次数
     */
    @ApiModelProperty(value = "充值次数min")
    private Integer rStartCountNum;
    @ApiModelProperty(value = "充值次数max")
    private Integer rEndCountNum;

    /**
     * 加油升数
     */
    @ApiModelProperty(value = "加油升数min")
    private BigDecimal startLiters;
    @ApiModelProperty(value = "加油升数max")
    private BigDecimal endLiters;

    /**
     * 开启二次筛选
     */

    private String secondFlag;

    /**
     * 开始时间
     */
    @JsonIgnore
    private String secondBeginDate;

    @JsonIgnore
    private String secondEndDate;

    /**
     * 二次筛选加油金额
     */

    private BigDecimal secondStartAmt;
    private BigDecimal secondEndAmt;

    /**
     * 加油次数
     */
    private Integer secondStartCountNum;
    private Integer secondEndCountNum;

    /**
     * 加油升数
     */
    private BigDecimal secondStartLiters;
    private BigDecimal secondEndLiters;

    // and 、or 按加油升数

    private String litersFlag;

    // and 、or 按加油金额

    private String amtFlag;

    // and 、or 二次查询按加油升数

    private String secondLitersFlag;

    // and 、or 二次查询按加油金额

    private String secondAmtFlag;

    // 手机号数组
    @ApiModelProperty(value = "手机号数组")
    private List<String> phoneList;

    // and 、or 会员卡的code
    @ApiModelProperty(value = "会员卡的code")
    private String cardCode;
    //会员卡的code
    private String cardCodeFalg;
    //油企id
    @ApiModelProperty(value = "油企id")
    private Long enterpriseId;
    //油品id
    @ApiModelProperty(value = "油品id")
    private Integer oilId;


    public String getBlogOpenid() {
        return blogOpenid;
    }

    public void setBlogOpenid(String blogOpenid) {
        this.blogOpenid = blogOpenid;
    }

    public Integer getCountNum() {
        return countNum;
    }

    public void setCountNum(Integer countNum) {
        this.countNum = countNum;
    }

    public Integer getOilId() {
        return oilId;
    }

    public void setOilId(Integer oilId) {
        this.oilId = oilId;
    }

    public Long getEnterpriseId() {
        return enterpriseId;
    }

    public void setEnterpriseId(Long enterpriseId) {
        this.enterpriseId = enterpriseId;
    }

    public String getCardCodeFalg() {
        return cardCodeFalg;
    }

    public void setCardCodeFalg(String cardCodeFalg) {
        this.cardCodeFalg = cardCodeFalg;
    }

    public String getCardCode() {
        return cardCode;
    }

    public void setCardCode(String cardCode) {
        this.cardCode = cardCode;
    }

    public String getLitersFlag() {
        return litersFlag;
    }

    public void setLitersFlag(String litersFlag) {
        this.litersFlag = litersFlag;
    }

    public String getAmtFlag() {
        return amtFlag;
    }

    public void setAmtFlag(String amtFlag) {
        this.amtFlag = amtFlag;
    }

    public String getSecondLitersFlag() {
        return secondLitersFlag;
    }

    public void setSecondLitersFlag(String secondLitersFlag) {
        this.secondLitersFlag = secondLitersFlag;
    }

    public String getSecondAmtFlag() {
        return secondAmtFlag;
    }

    public void setSecondAmtFlag(String secondAmtFlag) {
        this.secondAmtFlag = secondAmtFlag;
    }

    public String getDelFlag() {
        return delFlag;
    }

    public void setDelFlag(String delFlag) {
        this.delFlag = delFlag;
    }

    public List<String> getPhoneList() {
        return phoneList;
    }

    public void setPhoneList(List<String> phoneList) {
        this.phoneList = phoneList;
    }

    public Long getLabelId() {
        return labelId;
    }

    public void setLabelId(Long labelId) {
        this.labelId = labelId;
    }

    public String getLabelName() {
        return labelName;
    }

    public void setLabelName(String labelName) {
        this.labelName = labelName;
    }

    public Date getCreateDate() {
        return createDate;
    }

    public void setCreateDate(Date createDate) {
        this.createDate = createDate;
    }

    public String getOilName() {
        return oilName;
    }

    public void setOilName(String oilName) {
        this.oilName = oilName;
    }

    public String getBeginDate() {
        return beginDate;
    }

    public void setBeginDate(String beginDate) {
        this.beginDate = beginDate;
    }

    public String getEndDate() {
        return endDate;
    }

    public void setEndDate(String endDate) {
        this.endDate = endDate;
    }

    public BigDecimal getStartAmt() {
        return startAmt;
    }

    public void setStartAmt(BigDecimal startAmt) {
        this.startAmt = startAmt;
    }

    public BigDecimal getEndAmt() {
        return endAmt;
    }

    public void setEndAmt(BigDecimal endAmt) {
        this.endAmt = endAmt;
    }

    public Integer getStartCountNum() {
        return startCountNum;
    }

    public void setStartCountNum(Integer startCountNum) {
        this.startCountNum = startCountNum;
    }

    public Integer getEndCountNum() {
        return endCountNum;
    }

    public void setEndCountNum(Integer endCountNum) {
        this.endCountNum = endCountNum;
    }

    public BigDecimal getStartLiters() {
        return startLiters;
    }

    public void setStartLiters(BigDecimal startLiters) {
        this.startLiters = startLiters;
    }

    public BigDecimal getEndLiters() {
        return endLiters;
    }

    public void setEndLiters(BigDecimal endLiters) {
        this.endLiters = endLiters;
    }

    public String getSecondFlag() {
        return secondFlag;
    }

    public void setSecondFlag(String secondFlag) {
        this.secondFlag = secondFlag;
    }

    public String getSecondBeginDate() {
        return secondBeginDate;
    }

    public void setSecondBeginDate(String secondBeginDate) {
        this.secondBeginDate = secondBeginDate;
    }

    public String getSecondEndDate() {
        return secondEndDate;
    }

    public void setSecondEndDate(String secondEndDate) {
        this.secondEndDate = secondEndDate;
    }

    public BigDecimal getSecondStartAmt() {
        return secondStartAmt;
    }

    public void setSecondStartAmt(BigDecimal secondStartAmt) {
        this.secondStartAmt = secondStartAmt;
    }

    public BigDecimal getSecondEndAmt() {
        return secondEndAmt;
    }

    public void setSecondEndAmt(BigDecimal secondEndAmt) {
        this.secondEndAmt = secondEndAmt;
    }

    public Integer getSecondStartCountNum() {
        return secondStartCountNum;
    }

    public void setSecondStartCountNum(Integer secondStartCountNum) {
        this.secondStartCountNum = secondStartCountNum;
    }

    public Integer getSecondEndCountNum() {
        return secondEndCountNum;
    }

    public void setSecondEndCountNum(Integer secondEndCountNum) {
        this.secondEndCountNum = secondEndCountNum;
    }

    public BigDecimal getSecondStartLiters() {
        return secondStartLiters;
    }

    public void setSecondStartLiters(BigDecimal secondStartLiters) {
        this.secondStartLiters = secondStartLiters;
    }

    public BigDecimal getSecondEndLiters() {
        return secondEndLiters;
    }

    public void setSecondEndLiters(BigDecimal secondEndLiters) {
        this.secondEndLiters = secondEndLiters;
    }

    public String getCustomerName() {
        return customerName;
    }

    public void setCustomerName(String customerName) {
        this.customerName = customerName;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public Integer getId() {
        return id;
    }

    public void setPhone(String phone) {
        this.phone = phone;
    }

    public String getPhone() {
        return phone;
    }

    public Long getStationId() {
        return stationId;
    }

    public void setStationId(Long stationId) {
        this.stationId = stationId;
    }


    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("id", getId())
                .append("phone", getPhone())
                .append("stationId", getStationId())
                .append("createBy", getCreateBy())
                .append("createTime", getCreateTime())
                .append("updateBy", getUpdateBy())
                .append("updateTime", getUpdateTime())
                .toString();
    }

    public Integer getrCountNum() {
        return rCountNum;
    }

    public void setrCountNum(Integer rCountNum) {
        this.rCountNum = rCountNum;
    }

    public Date getrCreateDate() {
        return rCreateDate;
    }

    public void setrCreateDate(Date rCreateDate) {
        this.rCreateDate = rCreateDate;
    }

    public Integer getrStartCountNum() {
        return rStartCountNum;
    }

    public void setrStartCountNum(Integer rStartCountNum) {
        this.rStartCountNum = rStartCountNum;
    }

    public Integer getrEndCountNum() {
        return rEndCountNum;
    }

    public void setrEndCountNum(Integer rEndCountNum) {
        this.rEndCountNum = rEndCountNum;
    }

    public String getrBeginDate() {
        return rBeginDate;
    }

    public void setrBeginDate(String rBeginDate) {
        this.rBeginDate = rBeginDate;
    }

    public String getrEndDate() {
        return rEndDate;
    }

    public void setrEndDate(String rEndDate) {
        this.rEndDate = rEndDate;
    }
}
